package day1011_1;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

public class EmployeeDaoImpl {
    //1.创建一个ArrayList保存员工
    List<Employee> emps=new ArrayList();
    //用一个新的员工newEmp对象替换emps集合中的某个员工
    public boolean  updateEmployee(Employee newEmp){
        Employee oldEmp=selectById(newEmp.eno);
        if(oldEmp!=null){//如果oldEmp不为null，则从集合中找到要修改的员工了
            int index=emps.indexOf(oldEmp);//1.从集合中找到要修改员工的编号
            emps.set(index,newEmp);//2.用newEmp替换index位置旧的员工
            return true;
        }
        return false;
    }




    public static void main(String[] args) {
        EmployeeDaoImpl emp=new EmployeeDaoImpl();//创建一个EmployeeDaoImpl对象
        Scanner  sc=new Scanner(System.in);//1.import   //2.new Scanner对象
        System.out.println(" 请输入一个员工编号: " );
        String eno=sc.next();//3.调用sc的next输入String
        Employee e=emp.selectById(eno);
        if(e!=null){//如果集合中查询到的员工对象不为null(集合中有此员工)
            System.out.println(" 输入一个新的员工姓名" );
            String name=sc.next();//输入一个新的员工姓名
            Employee  newEmp=new Employee(eno,name);//将新的name和eno封装为对象
            boolean rs=emp.updateEmployee(newEmp);//调用updateEmployee方法用新的对象替换旧的
            System.out.println(" 是否替换成功： " + rs );//打印是否替换成功(打印true为成功)
            System.out.println("emp.emps = " + emp.emps);
        }

    }

    public Employee selectById(String sid){//By根据  Id编号   select查询
        Iterator<Employee> ite=emps.iterator();//1.获取迭代器
        while(ite.hasNext()){//2.判断下一位是否有元素
            Employee e=ite.next();
            if(sid.equals(e.eno) ){
                System.out.println(" 根据编号找到该员工了 " );
                return  e;
            }
        }
        return null;//集合中没有任何元素或者没找到元素，则返回null
    }

    EmployeeDaoImpl(){//构造方法： 用来成员变量赋值(emps集合中存元素)
        Employee e1=new Employee("big1-1001","刘超");
        Employee e2=new Employee("big1-1002","贺世杰");
        emps.add(e1);  emps.add(e2);
    }

}








